//package com.imay.live.activity.load;
//
//import android.Manifest;
//import android.content.Intent;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.text.TextUtils;
//import android.view.View;
//import android.widget.FrameLayout;
//import android.widget.ImageView;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.TypeReference;
//import com.bumptech.glide.Glide;
//import com.bumptech.glide.request.target.Target;
//import com.imay.cocos.IMayCocos;
//import com.imay.cocos.IMayCocosNetManager;
//import com.imay.live.activity.BaseRequestActivity;
//import com.imay.live.activity.MainActivity;
//import com.imay.live.activity.PermissionsGrantActivity;
//import com.imay.live.activity.user.UserActivity;
//import com.imay.live.cache.BannerCache;
//import com.imay.live.cache.PastePhotoCache;
//import com.imay.live.helper.EventHelper;
//import com.imay.live.helper.H5Helper;
//import com.imay.live.helper.PreferenceHelper;
//import com.imay.live.helper.ShareSDKHelper;
//import com.imay.live.helper.ThreadManager;
//import com.imay.live.manager.AccountManager;
//import com.imay.live.model.LOGOModel;
//import com.imay.live.proto.Result;
//import com.imay.live.proto.ResultCode;
//import com.imay.live.proto.helper.DefaultDeniedPermissionHandler;
//import com.imay.live.proto.helper.ProtoCallBack;
//import com.imay.live.proto.helper.ProtoHttpFactory;
//import com.imay.live.proto.helper.ProtoRequestHelper;
//import com.imay.live.view.ProgressWheel;
//import com.imay.live.R;
//import com.imay.tbas_api.IMYTBASObject;
//
//import java.io.File;
//import java.util.ArrayList;
//import java.util.concurrent.ExecutionException;
//
//
///**
// * Created by chan on 2017/3/24.
// */
//public class LoadActivity extends BaseRequestActivity implements View.OnClickListener {
//    private ProgressWheel mProgressBar;
//    public static final int IN_RUNNING = 1001;
//    public static final int IN_ENDING = 1002;
//    private long time = 2000;
//    private long timeCover = 3000; //总时长
//    private int pertime = 25; // 每次滑动时长
//    private long progress; // 进度
//    private int status; //1、开始图 2、封面女郎 3、其他
//    private String fileuri;
//    private FrameLayout fl_cocos_view_container;
//    private String queryStr;
//
//    @Override
//    protected int getLayoutId() {
//        return R.layout.fragment_load;
//    }
//
//    ImageView imageView;
//    boolean canstart = false;//这是广告倒计时是否到
//    boolean cosstart = false;//这是cocos 升级
//
//    @Override
//    protected void initView(Bundle savedInstanceState) {
//
//        mProgressBar = $(R.id.progressBar);
//        imageView = $(R.id.iv_load);
//        fl_cocos_view_container = $(R.id.fl_cocos_view_container);
//        mProgressBar.setOnClickListener(this);
//        PermissionsGrantActivity.grantPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_PHONE_STATE}
//                , new DefaultDeniedPermissionHandler(this) {
//                    @Override
//                    public void onPermissionsResult(String[] grantedpermissions, String[] denied_permissions) {
//                        startActivity();
//                    }
//
//                    @Override
//                    protected void onDialogChoice(int choice) {
//                    }
//                });
//    }
//
//    private void startActivity() {
//        IMayCocos.getInstance().removeCocosViewParent();
//        fl_cocos_view_container.addView(IMayCocos.getInstance().getCocosView());
//
//        status = 1;
//
//        // H5 回退到 后台最后一个页面
//        queryStr = ShareSDKHelper.getData(getIntent());
//        /**
//         * 后台有界面情况下，H5直接在Activity栈中最后一个界面跳
//         * 安卓按home键之后，再次点击程序图标避免再次重新启动程序解决办法
//         */
//        if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
//            if (H5Helper.startActivity(queryStr)) {
//                finish();
//                return;
//            } else {
//                finish();
//                return;
//            }
//        }
//
//
//        String jsn = PreferenceHelper.getInstance().getString(PreferenceHelper.COVER_URL);
//        try {
//            ArrayList<LOGOModel> models = JSON.parseObject(jsn, new TypeReference<ArrayList<LOGOModel>>() {
//            }.getType());
//            if (models.size() > 0) {
//                fileuri = models.get(0).getFileuri();
//            }
//
//        } catch (Exception e) {
//
//        }
//        initDatas();
//        new BannerCache(null).updateCache();
//        new PastePhotoCache(null).updateCache();
//
//
//        mCodeHandler.obtainMessage(IN_RUNNING).sendToTarget();
//        imageView.setImageResource(R.mipmap.app_open);
//        mProgressBar.setVisibility(View.INVISIBLE);
//    }
//
//    /**
//     * 倒计时Handler
//     */
//    Handler mCodeHandler = new Handler() {
//        public void handleMessage(Message msg) {
//            if (msg.what == IN_RUNNING) {// 正在倒计时
//                if (status == 2) {
//                    int pre = (int) ((pertime / (timeCover + 0.0001f)) * 360);
//                    if (mProgressBar.getProgress() < 360) {
//                        mProgressBar.incrementProgress(pre);
//                    }
//                    progress += pre;
//                    if (progress >= 360) {
//                        canstart = true;
//                        startHome();
//                        return;
//                    }
//                } else if (status == 1) {
//                    time -= pertime;
//                    if (time <= 0) {
//                        mCodeHandler.obtainMessage(IN_ENDING).sendToTarget();
//                        return;
//                    }
//                }
//                mCodeHandler.sendEmptyMessageDelayed(IN_RUNNING, pertime);
//            } else if (msg.what == IN_ENDING) {
//                if (status == 1) {
//                    if (!TextUtils.isEmpty(fileuri)) {
//                        File imgfile = new File(fileuri);
//                        Glide.with(getApplicationContext()).load(imgfile).error(R.mipmap.cover).into(imageView);
//                        if (!imgfile.exists()) {
//                            imageView.setImageResource(R.mipmap.cover);
//                        }
//                    } else {
//                        imageView.setImageResource(R.mipmap.cover);
//                    }
//                    status = 2;
//                    mCodeHandler.obtainMessage(IN_RUNNING).sendToTarget();
//                    mProgressBar.setVisibility(View.VISIBLE);
//                } else if (status == 2) {
//                    canstart = true;
//                    startHome();
//                }
//            }
//        }
//    };
//    boolean isstart;//预防多次开启
//
//    private synchronized void startHome() {
//        if (!canstart) {//需要等lua 返回才可以跳转
//            return;
//        }
//        if (isstart) {
//            return;
//        }
//        if (IMayCocosNetManager.getInstance().getLauncherState() == 4 && cosstart) {
//            return;
//        }
//        isstart = true;
//        if (AccountManager.getInstance().isLogined()) {
//            MainActivity.startActivity(LoadActivity.this, queryStr);
//        } else {
//            UserActivity.startActivity(LoadActivity.this, queryStr);
//        }
//        finish();
//    }
//
//
//    private class ImageRun implements Runnable {
//        ArrayList<String> imgs;
//
//        ImageRun(ArrayList<String> imgs) {
//            this.imgs = imgs;
//        }
//
//        @Override
//        public void run() {
//            try {
//                ArrayList<LOGOModel> models = new ArrayList<LOGOModel>();
//                for (String url : imgs) {
//                    LOGOModel logoModel = new LOGOModel();
//                    logoModel.setUrl(url);
//                    File file = Glide.with(getApplicationContext())
//                            .load(url)
//                            .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
//                            .get();
//                    if (file != null) {
//                        logoModel.setFileuri(file.getPath());
//                    }
//                    models.add(logoModel);
//                }
//                String text = JSON.toJSONString(models);
//                PreferenceHelper.getInstance().putString(PreferenceHelper.COVER_URL, text);
//
//            } catch (InterruptedException | ExecutionException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//
//    private void initDatas() {
//        ProtoRequestHelper.task(ProtoHttpFactory.coverGirls()).setTag(this.hashCode()).request(new ProtoCallBack() {
//            @Override
//            public void onRequestSuccess(String command, String data) {
//                data = data.trim();
//                Result<ArrayList<String>> result = JSON.parseObject(data, new TypeReference<Result<ArrayList<String>>>() {
//                }.getType());
//                if (result.result == ResultCode.CodeSuccess) {
//                    if (result.data != null && result.data.size() > 0) {
//                        ThreadManager.execute(new ImageRun(result.data));
//                    }
//                }
//            }
//
//            @Override
//            public void onRequestError(String command, int code, String message) {
//
//            }
//        });
//    }
//
//
//    @Override
//    protected boolean useDynamicTitleBar() {
//        return false;
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        if (mCodeHandler != null) {
//            mCodeHandler.removeCallbacksAndMessages(null);
//        }
//        if (mSocketNotify != null) {
//            mSocketNotify.destroy();
//        }
//    }
//
//
//    public void onClick(View view) {
//        switch (view.getId()) {
//            case R.id.progressBar:
//                mCodeHandler.removeCallbacksAndMessages(null);
//                canstart = true;
//                startHome();
//                break;
//        }
//    }
//
//    @Override
//    protected void onPause() {
//        super.onPause();
//        IMayCocos.getInstance().removeCocosViewParent();
//    }
//
//    private IMYTBASObject mSocketNotify;
//
//    protected void registerSocketNotify() {
//        mSocketNotify = new IMYTBASObject(false);
//        mSocketNotify.stringCommand = EventHelper.EVENT_APPUPDATE;
//        mSocketNotify.setDataResultListener(new IMYTBASObject.OnDataResultListener() {
//            @Override
//            public void onCommandTaskSuccess(final IMYTBASObject object) {
//                cosstart = true;
//                startHome();
//            }
//        });
//        mSocketNotify.addEventListenWithTBASObject();
//    }
//}
